<?php

namespace JLPay\Models\Ledger\Merchconf;

use JLPay\Models\BaseResponse;

/**
 * 商户分账查询响应
 */
class MerchRevQueryResponse extends BaseResponse
{
    protected ?string $orgCode = null;
    protected ?string $mchId = null;
    protected ?string $merchType = null;
    protected ?string $licenseNumber = null;
    protected ?string $licenseName = null;
    protected ?string $licenseAddress = null;
    protected ?string $licenseBeginDate = null;
    protected ?string $licenseEndDate = null;
    protected ?string $legalName = null;
    protected ?string $legalNumber = null;
    protected ?string $legalBeginDate = null;
    protected ?string $legalEndDate = null;
    protected ?string $mobile = null;
    protected ?string $bankCardNo = null;
    protected ?string $bankCardName = null;
    protected ?string $bankCode = null;
    protected ?string $bankName = null;
    protected ?string $bankBranchCode = null;
    protected ?string $bankBranchName = null;
    protected ?string $applyStatus = null;

    /**
     * 构造函数
     *
     * @param array|null $responseArray
     */
    public function __construct(?array $responseArray = null)
    {
        parent::__construct($responseArray);

        if ($responseArray) {
            $this->orgCode = $responseArray['org_code'] ?? null;
            $this->mchId = $responseArray['mch_id'] ?? null;
            $this->merchType = $responseArray['merch_type'] ?? null;
            $this->licenseNumber = $responseArray['license_number'] ?? null;
            $this->licenseName = $responseArray['license_name'] ?? null;
            $this->licenseAddress = $responseArray['license_address'] ?? null;
            $this->licenseBeginDate = $responseArray['license_begin_date'] ?? null;
            $this->licenseEndDate = $responseArray['license_end_date'] ?? null;
            $this->legalName = $responseArray['legal_name'] ?? null;
            $this->legalNumber = $responseArray['legal_number'] ?? null;
            $this->legalBeginDate = $responseArray['legal_begin_date'] ?? null;
            $this->legalEndDate = $responseArray['legal_end_date'] ?? null;
            $this->mobile = $responseArray['mobile'] ?? null;
            $this->bankCardNo = $responseArray['bank_card_no'] ?? null;
            $this->bankCardName = $responseArray['bank_card_name'] ?? null;
            $this->bankCode = $responseArray['bank_code'] ?? null;
            $this->bankName = $responseArray['bank_name'] ?? null;
            $this->bankBranchCode = $responseArray['bank_branch_code'] ?? null;
            $this->bankBranchName = $responseArray['bank_branch_name'] ?? null;
            $this->applyStatus = $responseArray['apply_status'] ?? null;
        }
    }

    /**
     * 获取机构代码
     *
     * @return string|null
     */
    public function getOrgCode(): ?string
    {
        return $this->orgCode;
    }

    /**
     * 获取商户号
     *
     * @return string|null
     */
    public function getMchId(): ?string
    {
        return $this->mchId;
    }

    /**
     * 获取商户类型
     *
     * @return string|null
     */
    public function getMerchType(): ?string
    {
        return $this->merchType;
    }

    /**
     * 获取营业执照号
     *
     * @return string|null
     */
    public function getLicenseNumber(): ?string
    {
        return $this->licenseNumber;
    }

    /**
     * 获取营业执照名称
     *
     * @return string|null
     */
    public function getLicenseName(): ?string
    {
        return $this->licenseName;
    }

    /**
     * 获取营业执照地址
     *
     * @return string|null
     */
    public function getLicenseAddress(): ?string
    {
        return $this->licenseAddress;
    }

    /**
     * 获取营业执照开始日期
     *
     * @return string|null
     */
    public function getLicenseBeginDate(): ?string
    {
        return $this->licenseBeginDate;
    }

    /**
     * 获取营业执照结束日期
     *
     * @return string|null
     */
    public function getLicenseEndDate(): ?string
    {
        return $this->licenseEndDate;
    }

    /**
     * 获取法人姓名
     *
     * @return string|null
     */
    public function getLegalName(): ?string
    {
        return $this->legalName;
    }

    /**
     * 获取法人证件号
     *
     * @return string|null
     */
    public function getLegalNumber(): ?string
    {
        return $this->legalNumber;
    }

    /**
     * 获取法人证件开始日期
     *
     * @return string|null
     */
    public function getLegalBeginDate(): ?string
    {
        return $this->legalBeginDate;
    }

    /**
     * 获取法人证件结束日期
     *
     * @return string|null
     */
    public function getLegalEndDate(): ?string
    {
        return $this->legalEndDate;
    }

    /**
     * 获取手机号
     *
     * @return string|null
     */
    public function getMobile(): ?string
    {
        return $this->mobile;
    }

    /**
     * 获取银行卡号
     *
     * @return string|null
     */
    public function getBankCardNo(): ?string
    {
        return $this->bankCardNo;
    }

    /**
     * 获取银行卡姓名
     *
     * @return string|null
     */
    public function getBankCardName(): ?string
    {
        return $this->bankCardName;
    }

    /**
     * 获取银行代码
     *
     * @return string|null
     */
    public function getBankCode(): ?string
    {
        return $this->bankCode;
    }

    /**
     * 获取银行名称
     *
     * @return string|null
     */
    public function getBankName(): ?string
    {
        return $this->bankName;
    }

    /**
     * 获取银行支行代码
     *
     * @return string|null
     */
    public function getBankBranchCode(): ?string
    {
        return $this->bankBranchCode;
    }

    /**
     * 获取银行支行名称
     *
     * @return string|null
     */
    public function getBankBranchName(): ?string
    {
        return $this->bankBranchName;
    }

    /**
     * 获取申请状态
     *
     * @return string|null
     */
    public function getApplyStatus(): ?string
    {
        return $this->applyStatus;
    }
} 